Response Scheme
Parameters of ApiResult
| Name | Type | Required | Description |
|---|---|---|---|
| Success | boolean | ✅ | Information about if proccess resulted successfully or not. |
| Key | string | ✅ | Type of response. Also each error has their own key. It's more like error code. |
| Data | object / Generic<T> | ❕ | Contains main data of response. Data can be null with some unsuccessful requests. |
| Meta | object | ❌ | Metadata about response, like pagination page counts or depricated elements etc. |
| Message | string | ❕ | Message about request. Mostly unseuccessful requests have message about it. |
| IsUserFriendlyMessage | boolean | ❌ | Indicates if Message comes from resources and readable by directly users or not. |
The response scheme used for Audit Log is as follows.
public class BaseResponseDto : AuditEvent
{
public string Id { get; set; }
public string EventType { get; set; }
public string UserEmail { get; set; }
public string UserId { get; set; }
public string UserAgent { get; set; }
public string IP { get; set; }
public string Context { get; set; }
public string ActionType { get; set; }
public string AppId { get; set; }
public string ContextAction { get; set; }
}
public class LogResponseDto : BaseResponseDto
{
public object Target { get; set; }
}
Object Mapping
Using auto mapper for object mapping.
public class LogResponseMap : Profile
{
public LogResponseMap()
{
CreateMap<Log, LogResponseDto>().ReverseMap();
CreateMap<AuditEvent, LogResponseDto>()
.ForMember(dest => dest.Target, opt =>
{
opt.MapFrom(src => src.Target);
});
}
}